﻿#ifndef YUTOPP_TWITPIC_POLICY_HPP
#define YUTOPP_TWITPIC_POLICY_HPP

#include "../../oauth/1/core.hpp"
#include "../../utility/translator_u8_sjis.hpp"

#include "group.hpp"

namespace webapp
{
	namespace clients
	{
		namespace twitpic
		{
			namespace policy
			{
				class v2
				{
				public:
					typedef std::wstring						string_type;
					typedef encoding::translator<
						encoding::u8_t, encoding::u16_t>		translator_type;
					typedef group_v2							group_type;
					typedef oauth::v1::core<>					auth_type;

					static const char* get_domain()
					{
						return "api.twitpic.com";
					}

					static const char* get_path()
					{
						return "/2/";
					}

					static const char* get_user_agent()
					{
						return "OAuthLibCpp";
					}
/*

					//
					template<typename T>
					static string_type get_api_name()
					{
						/*using namespace api;
						static const address_type addr(
							fusion::make_pair<upload>				( "upload" ),

							fusion::make_pair<media::show>			( "media/show" ),

							fusion::make_pair<users::show>			( "users/show" ),

							fusion::make_pair<comments::show>		( "comments/show" ),
							fusion::make_pair<comments::create>		( "comments/create" ),
							fusion::make_pair<comments::delete_>	( "comments/delete" ),

							fusion::make_pair<place::show>			( "place/show" ),

							fusion::make_pair<places::show>			( "places/show" ),

							fusion::make_pair<faces::show>			( "faces/show" ),
							fusion::make_pair<faces::create>		( "faces/create" ),
							fusion::make_pair<faces::edit>			( "faces/edit" ),
							fusion::make_pair<faces::delete_>		( "faces/delete" ),

							fusion::make_pair<events::show>			( "events/show" ),

							fusion::make_pair<event::show>			( "event/show" ),
							fusion::make_pair<event::create>		( "event/create" ),
							fusion::make_pair<event::delete_>		( "event/delete" ),
							fusion::make_pair<event::add>			( "event/add" ),
							fusion::make_pair<event::remove>		( "event/remove" ),

							fusion::make_pair<tags::show>			( "tags/show" ),
							fusion::make_pair<tags::create>			( "tags/create" ),
							fusion::make_pair<tags::delete_>		( "tags/delete" )
							);

						return "";//fusion::at_key<T>( addr );
					}*/
				};
			}
		}
	}
}

#endif /*YUTOPP_TWITPIC_POLICY_HPP*/
